package org.sub.unit.benchmark.test;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Measurement;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.OutputTimeUnit;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Threads;
import org.openjdk.jmh.annotations.Warmup;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
import org.sub.unit.benchmark.domain.AbilitySpec;
import org.sub.unit.benchmark.domain.RuleModelTslDTO;

import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;

/**
 * @author cole.chen
 * @since 2023年07月07日10:16:00
 */
@BenchmarkMode(value = {Mode.Throughput, Mode.AverageTime})
@OutputTimeUnit(TimeUnit.SECONDS)
@Warmup(iterations = 10)
@Threads(2)
@State(Scope.Thread)
@Measurement(iterations = 5, time = -1, timeUnit = TimeUnit.SECONDS, batchSize = -1)
public class TslSpecOptimizedMapBenchMark {

    private static final String SPEC = "[{\"code\":\"1_1\",\"dataType\":\"BOOL\",\"id\":1,\"name\":\"布尔值_只写_1_保持寄存器_0001_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_2\",\"dataType\":\"BOOL\",\"id\":2,\"name\":\"布尔值_只写_1_保持寄存器_0001_1\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_3\",\"dataType\":\"BOOL\",\"id\":3,\"name\":\"布尔值_只写_1_保持寄存器_0001_2\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_4\",\"dataType\":\"BOOL\",\"id\":4,\"name\":\"布尔值_只写_1_保持寄存器_0001_3\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_5\",\"dataType\":\"BOOL\",\"id\":5,\"name\":\"布尔值_只写_1_保持寄存器_0001_4\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_6\",\"dataType\":\"BOOL\",\"id\":6,\"name\":\"布尔值_只写_1_保持寄存器_0001_5\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_7\",\"dataType\":\"BOOL\",\"id\":7,\"name\":\"布尔值_只写_1_保持寄存器_0001_6\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_8\",\"dataType\":\"BOOL\",\"id\":8,\"name\":\"布尔值_只写_1_保持寄存器_0001_7\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_9\",\"dataType\":\"BOOL\",\"id\":9,\"name\":\"布尔值_只写_1_保持寄存器_0001_8\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_10\",\"dataType\":\"BOOL\",\"id\":10,\"name\":\"布尔值_只写_1_保持寄存器_0001_9\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_11\",\"dataType\":\"BOOL\",\"id\":11,\"name\":\"布尔值_只写_1_保持寄存器_0001_10\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_12\",\"dataType\":\"BOOL\",\"id\":12,\"name\":\"布尔值_只写_1_保持寄存器_0001_11\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_13\",\"dataType\":\"BOOL\",\"id\":13,\"name\":\"布尔值_只写_1_保持寄存器_0001_12\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_14\",\"dataType\":\"BOOL\",\"id\":14,\"name\":\"布尔值_只写_1_保持寄存器_0001_13\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_15\",\"dataType\":\"BOOL\",\"id\":15,\"name\":\"布尔值_只写_1_保持寄存器_0001_14\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_16\",\"dataType\":\"BOOL\",\"id\":16,\"name\":\"布尔值_只写_1_保持寄存器_0001_15\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_17\",\"dataType\":\"BOOL\",\"id\":17,\"name\":\"布尔值_只写_1_保持寄存器_0003_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_18\",\"dataType\":\"BOOL\",\"id\":18,\"name\":\"布尔值_只写_1_保持寄存器_0006_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_19\",\"dataType\":\"BOOL\",\"id\":19,\"name\":\"布尔值_只写_1_保持寄存器_0006_1\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_20\",\"dataType\":\"BOOL\",\"id\":20,\"name\":\"布尔值_只写_1_保持寄存器_0006_3\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_21\",\"dataType\":\"BOOL\",\"id\":21,\"name\":\"布尔值_只写_1_保持寄存器_0006_4\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_22\",\"dataType\":\"BOOL\",\"id\":22,\"name\":\"布尔值_只写_1_保持寄存器_0006_5\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_23\",\"dataType\":\"BOOL\",\"id\":23,\"name\":\"布尔值_只写_1_保持寄存器_0006_6\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_24\",\"dataType\":\"BOOL\",\"id\":24,\"name\":\"布尔值_只写_1_保持寄存器_0006_7\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_25\",\"dataType\":\"BOOL\",\"id\":25,\"name\":\"布尔值_只写_1_保持寄存器_0006_8\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_26\",\"dataType\":\"BOOL\",\"id\":26,\"name\":\"布尔值_只写_1_保持寄存器_0006_9\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_27\",\"dataType\":\"BOOL\",\"id\":27,\"name\":\"布尔值_只写_1_保持寄存器_0006_10\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_28\",\"dataType\":\"BOOL\",\"id\":28,\"name\":\"布尔值_只写_1_保持寄存器_0006_11\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_29\",\"dataType\":\"BOOL\",\"id\":29,\"name\":\"布尔值_只写_1_保持寄存器_0006_12\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_30\",\"dataType\":\"BOOL\",\"id\":30,\"name\":\"布尔值_只写_1_保持寄存器_0006_13\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_31\",\"dataType\":\"BOOL\",\"id\":31,\"name\":\"布尔值_只写_1_保持寄存器_0006_14\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_32\",\"dataType\":\"BOOL\",\"id\":32,\"name\":\"布尔值_只读_1_保持寄存器_0000_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_33\",\"dataType\":\"BOOL\",\"id\":33,\"name\":\"布尔值_只读_1_保持寄存器_0000_1\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_34\",\"dataType\":\"BOOL\",\"id\":34,\"name\":\"布尔值_只读_1_保持寄存器_0000_2\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_35\",\"dataType\":\"BOOL\",\"id\":35,\"name\":\"布尔值_只读_1_保持寄存器_0000_3\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_36\",\"dataType\":\"BOOL\",\"id\":36,\"name\":\"布尔值_只读_1_保持寄存器_0000_4\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_37\",\"dataType\":\"BOOL\",\"id\":37,\"name\":\"布尔值_只读_1_保持寄存器_0000_5\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_38\",\"dataType\":\"BOOL\",\"id\":38,\"name\":\"布尔值_只读_1_保持寄存器_0000_6\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_39\",\"dataType\":\"BOOL\",\"id\":39,\"name\":\"布尔值_只读_1_保持寄存器_0000_7\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_40\",\"dataType\":\"BOOL\",\"id\":40,\"name\":\"布尔值_只读_1_保持寄存器_0000_8\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_41\",\"dataType\":\"BOOL\",\"id\":41,\"name\":\"布尔值_只读_1_保持寄存器_0000_9\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_42\",\"dataType\":\"BOOL\",\"id\":42,\"name\":\"布尔值_只读_1_保持寄存器_0000_10\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_43\",\"dataType\":\"BOOL\",\"id\":43,\"name\":\"布尔值_只读_1_保持寄存器_0000_11\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_44\",\"dataType\":\"BOOL\",\"id\":44,\"name\":\"布尔值_只读_1_保持寄存器_0000_12\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_45\",\"dataType\":\"BOOL\",\"id\":45,\"name\":\"布尔值_只读_1_保持寄存器_0000_13\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_46\",\"dataType\":\"BOOL\",\"id\":46,\"name\":\"布尔值_只读_1_保持寄存器_0000_14\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_47\",\"dataType\":\"BOOL\",\"id\":47,\"name\":\"布尔值_只读_1_保持寄存器_0000_15\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_48\",\"dataType\":\"BOOL\",\"id\":48,\"name\":\"布尔值_只读_1_保持寄存器_0006_2\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_49\",\"dataType\":\"BOOL\",\"id\":49,\"name\":\"布尔值_只读_1_保持寄存器_0007_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_50\",\"dataType\":\"BOOL\",\"id\":50,\"name\":\"布尔值_只读_1_保持寄存器_0007_1\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_51\",\"dataType\":\"BOOL\",\"id\":51,\"name\":\"布尔值_只读_1_保持寄存器_0007_2\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_52\",\"dataType\":\"BOOL\",\"id\":52,\"name\":\"布尔值_只读_1_保持寄存器_0007_3\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_53\",\"dataType\":\"BOOL\",\"id\":53,\"name\":\"布尔值_只读_1_保持寄存器_0007_4\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_54\",\"dataType\":\"BOOL\",\"id\":54,\"name\":\"布尔值_只读_1_保持寄存器_0007_5\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_55\",\"dataType\":\"BOOL\",\"id\":55,\"name\":\"布尔值_只读_1_保持寄存器_0007_6\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_56\",\"dataType\":\"BOOL\",\"id\":56,\"name\":\"布尔值_只读_1_保持寄存器_0007_7\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_57\",\"dataType\":\"BOOL\",\"id\":57,\"name\":\"布尔值_只读_1_保持寄存器_0007_8\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_58\",\"dataType\":\"BOOL\",\"id\":58,\"name\":\"布尔值_只读_1_保持寄存器_0007_9\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_59\",\"dataType\":\"BOOL\",\"id\":59,\"name\":\"布尔值_只读_1_保持寄存器_0007_10\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_60\",\"dataType\":\"BOOL\",\"id\":60,\"name\":\"布尔值_只读_1_保持寄存器_0007_11\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_61\",\"dataType\":\"BOOL\",\"id\":61,\"name\":\"布尔值_只读_1_保持寄存器_0007_12\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_62\",\"dataType\":\"BOOL\",\"id\":62,\"name\":\"布尔值_只读_1_保持寄存器_0007_13\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_63\",\"dataType\":\"BOOL\",\"id\":63,\"name\":\"布尔值_只读_1_保持寄存器_0007_14\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_64\",\"dataType\":\"BOOL\",\"id\":64,\"name\":\"布尔值_只读_1_保持寄存器_0004_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_65\",\"dataType\":\"BOOL\",\"id\":65,\"name\":\"布尔值_读写_1_保持寄存器_0002_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_66\",\"dataType\":\"BOOL\",\"id\":66,\"name\":\"布尔值_读写_1_保持寄存器_0002_1\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_67\",\"dataType\":\"BOOL\",\"id\":67,\"name\":\"布尔值_读写_1_保持寄存器_0002_2\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_68\",\"dataType\":\"BOOL\",\"id\":68,\"name\":\"布尔值_读写_1_保持寄存器_0002_3\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_69\",\"dataType\":\"BOOL\",\"id\":69,\"name\":\"布尔值_读写_1_保持寄存器_0002_4\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_70\",\"dataType\":\"BOOL\",\"id\":70,\"name\":\"布尔值_读写_1_保持寄存器_0002_5\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_71\",\"dataType\":\"BOOL\",\"id\":71,\"name\":\"布尔值_读写_1_保持寄存器_0002_6\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_72\",\"dataType\":\"BOOL\",\"id\":72,\"name\":\"布尔值_读写_1_保持寄存器_0002_7\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_73\",\"dataType\":\"BOOL\",\"id\":73,\"name\":\"布尔值_读写_1_保持寄存器_0002_8\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_74\",\"dataType\":\"BOOL\",\"id\":74,\"name\":\"布尔值_读写_1_保持寄存器_0002_9\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_75\",\"dataType\":\"BOOL\",\"id\":75,\"name\":\"布尔值_读写_1_保持寄存器_0002_10\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_76\",\"dataType\":\"BOOL\",\"id\":76,\"name\":\"布尔值_读写_1_保持寄存器_0002_11\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_77\",\"dataType\":\"BOOL\",\"id\":77,\"name\":\"布尔值_读写_1_保持寄存器_0002_12\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_78\",\"dataType\":\"BOOL\",\"id\":78,\"name\":\"布尔值_读写_1_保持寄存器_0002_13\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_79\",\"dataType\":\"BOOL\",\"id\":79,\"name\":\"布尔值_读写_1_保持寄存器_0002_14\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_80\",\"dataType\":\"BOOL\",\"id\":80,\"name\":\"布尔值_读写_1_保持寄存器_0002_15\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_81\",\"dataType\":\"BOOL\",\"id\":81,\"name\":\"布尔值_读写_1_保持寄存器_0005_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_82\",\"dataType\":\"BOOL\",\"id\":82,\"name\":\"布尔值_读写_1_保持寄存器_0008_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_83\",\"dataType\":\"BOOL\",\"id\":83,\"name\":\"布尔值_读写_1_保持寄存器_0008_1\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_84\",\"dataType\":\"BOOL\",\"id\":84,\"name\":\"布尔值_读写_1_保持寄存器_0008_2\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_85\",\"dataType\":\"BOOL\",\"id\":85,\"name\":\"布尔值_读写_1_保持寄存器_0008_3\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_86\",\"dataType\":\"BOOL\",\"id\":86,\"name\":\"布尔值_读写_1_保持寄存器_0008_4\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_87\",\"dataType\":\"BOOL\",\"id\":87,\"name\":\"布尔值_读写_1_保持寄存器_0008_5\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_88\",\"dataType\":\"BOOL\",\"id\":88,\"name\":\"布尔值_读写_1_保持寄存器_0008_6\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_89\",\"dataType\":\"BOOL\",\"id\":89,\"name\":\"布尔值_读写_1_保持寄存器_0008_7\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_90\",\"dataType\":\"BOOL\",\"id\":90,\"name\":\"布尔值_读写_1_保持寄存器_0008_8\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_91\",\"dataType\":\"BOOL\",\"id\":91,\"name\":\"布尔值_读写_1_保持寄存器_0008_9\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_92\",\"dataType\":\"BOOL\",\"id\":92,\"name\":\"布尔值_读写_1_保持寄存器_0008_10\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_93\",\"dataType\":\"BOOL\",\"id\":93,\"name\":\"布尔值_读写_1_保持寄存器_0008_11\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_94\",\"dataType\":\"BOOL\",\"id\":94,\"name\":\"布尔值_读写_1_保持寄存器_0008_12\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_95\",\"dataType\":\"BOOL\",\"id\":95,\"name\":\"布尔值_读写_1_保持寄存器_0008_13\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_96\",\"dataType\":\"BOOL\",\"id\":96,\"name\":\"布尔值_读写_1_保持寄存器_0008_14\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_97\",\"dataType\":\"DOUBLE\",\"id\":97,\"name\":\"数值_只写_有符16大_1_保持寄存器_000e\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_98\",\"dataType\":\"DOUBLE\",\"id\":98,\"name\":\"数值_只写_有符16大_1_保持寄存器_001a\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_99\",\"dataType\":\"DOUBLE\",\"id\":99,\"name\":\"数值_只写_有符16大交_1_保持寄存器_0010\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_100\",\"dataType\":\"DOUBLE\",\"id\":100,\"name\":\"数值_只写_有符16大交_1_保持寄存器_001c\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_101\",\"dataType\":\"DOUBLE\",\"id\":101,\"name\":\"数值_只写_有符16小_1_保持寄存器_000f\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_102\",\"dataType\":\"DOUBLE\",\"id\":102,\"name\":\"数值_只写_有符16小_1_保持寄存器_001b\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_103\",\"dataType\":\"DOUBLE\",\"id\":103,\"name\":\"数值_只写_有符16小交_1_保持寄存器_0011\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_104\",\"dataType\":\"DOUBLE\",\"id\":104,\"name\":\"数值_只写_有符16小交_1_保持寄存器_001d\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_105\",\"dataType\":\"DOUBLE\",\"id\":105,\"name\":\"数值_只读_无符16大_1_保持寄存器_0016\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_106\",\"dataType\":\"DOUBLE\",\"id\":106,\"name\":\"数值_只读_无符16大交_1_保持寄存器_0018\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_107\",\"dataType\":\"DOUBLE\",\"id\":107,\"name\":\"数值_只读_无符16小_1_保持寄存器_0017\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_108\",\"dataType\":\"DOUBLE\",\"id\":108,\"name\":\"数值_只读_无符16小交_1_保持寄存器_0019\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_109\",\"dataType\":\"DOUBLE\",\"id\":109,\"name\":\"数值_只读_有符16大_1_保持寄存器_000a\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_110\",\"dataType\":\"DOUBLE\",\"id\":110,\"name\":\"数值_只读_有符16大交_1_保持寄存器_000c\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_111\",\"dataType\":\"DOUBLE\",\"id\":111,\"name\":\"数值_只读_有符16小_1_保持寄存器_000b\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_112\",\"dataType\":\"DOUBLE\",\"id\":112,\"name\":\"数值_只读_有符16小交_1_保持寄存器_000d\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_113\",\"dataType\":\"DOUBLE\",\"id\":113,\"name\":\"数值_读写_无符16大_1_保持寄存器_001e\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_114\",\"dataType\":\"DOUBLE\",\"id\":114,\"name\":\"数值_读写_无符16大交_1_保持寄存器_0020\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_115\",\"dataType\":\"DOUBLE\",\"id\":115,\"name\":\"数值_读写_无符16小_1_保持寄存器_001f\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_116\",\"dataType\":\"DOUBLE\",\"id\":116,\"name\":\"数值_读写_无符16小交_1_保持寄存器_0021\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_117\",\"dataType\":\"DOUBLE\",\"id\":117,\"name\":\"数值_读写_有符16大_1_保持寄存器_0012\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_118\",\"dataType\":\"DOUBLE\",\"id\":118,\"name\":\"数值_读写_有符16大交_1_保持寄存器_0014\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_119\",\"dataType\":\"DOUBLE\",\"id\":119,\"name\":\"数值_读写_有符16小_1_保持寄存器_0013\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_120\",\"dataType\":\"DOUBLE\",\"id\":120,\"name\":\"数值_读写_有符16小交_1_保持寄存器_0015\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_121\",\"dataType\":\"DOUBLE\",\"id\":121,\"name\":\"数值_只写_无符32大_1_保持寄存器_0045\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_122\",\"dataType\":\"DOUBLE\",\"id\":122,\"name\":\"数值_只写_无符32大交_1_保持寄存器_0049\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_123\",\"dataType\":\"DOUBLE\",\"id\":123,\"name\":\"数值_只写_无符32小_1_保持寄存器_0047\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_124\",\"dataType\":\"INT\",\"id\":124,\"name\":\"数值_只写_无符32小交_1_保持寄存器_004b\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"123456\",\"unit\":\"\"}},{\"code\":\"1_125\",\"dataType\":\"DOUBLE\",\"id\":125,\"name\":\"数值_只写_有符32大_1_保持寄存器_002b\",\"specs\":{\"max\":\"1002147.000000\",\"min\":\"997852.516352\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_126\",\"dataType\":\"DOUBLE\",\"id\":126,\"name\":\"数值_只写_有符32大交_1_保持寄存器_002f\",\"specs\":{\"max\":\"2147.000000\",\"min\":\"-2147.483648\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_127\",\"dataType\":\"DOUBLE\",\"id\":127,\"name\":\"数值_只写_有符32小_1_保持寄存器_002d\",\"specs\":{\"max\":\"1002147.000000\",\"min\":\"997852.516352\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_128\",\"dataType\":\"DOUBLE\",\"id\":128,\"name\":\"数值_只写_有符32小交_1_保持寄存器_0031\",\"specs\":{\"max\":\"125603.000000\",\"min\":\"121308.516353\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_129\",\"dataType\":\"DOUBLE\",\"id\":129,\"name\":\"数值_只读_无符32大_1_保持寄存器_003b\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_130\",\"dataType\":\"DOUBLE\",\"id\":130,\"name\":\"数值_只读_无符32大交_1_保持寄存器_003f\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_131\",\"dataType\":\"DOUBLE\",\"id\":131,\"name\":\"数值_只读_无符32小_1_保持寄存器_003d\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_132\",\"dataType\":\"INT\",\"id\":132,\"name\":\"数值_只读_无符32小交_1_保持寄存器_0041\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"123456\",\"unit\":\"\"}},{\"code\":\"1_133\",\"dataType\":\"DOUBLE\",\"id\":133,\"name\":\"数值_只读_有符32大_1_保持寄存器_0023\",\"specs\":{\"max\":\"1002147.000000\",\"min\":\"997852.516352\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_134\",\"dataType\":\"DOUBLE\",\"id\":134,\"name\":\"数值_只读_有符32大交_1_保持寄存器_0027\",\"specs\":{\"max\":\"2147.000000\",\"min\":\"-2147.483648\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_135\",\"dataType\":\"DOUBLE\",\"id\":135,\"name\":\"数值_只读_有符32小_1_保持寄存器_0025\",\"specs\":{\"max\":\"-997852.000000\",\"min\":\"-1002147.483646\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_136\",\"dataType\":\"DOUBLE\",\"id\":136,\"name\":\"数值_只读_有符32小交_1_保持寄存器_0029\",\"specs\":{\"max\":\"125603.000000\",\"min\":\"121308.516353\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_137\",\"dataType\":\"DOUBLE\",\"id\":137,\"name\":\"数值_读写_无符32大_1_保持寄存器_004d\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_138\",\"dataType\":\"DOUBLE\",\"id\":138,\"name\":\"数值_读写_无符32大交_1_保持寄存器_0051\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_139\",\"dataType\":\"DOUBLE\",\"id\":139,\"name\":\"数值_读写_无符32小_1_保持寄存器_004f\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_140\",\"dataType\":\"INT\",\"id\":140,\"name\":\"数值_读写_无符32小交_1_保持寄存器_0053\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"123456\",\"unit\":\"\"}},{\"code\":\"1_141\",\"dataType\":\"DOUBLE\",\"id\":141,\"name\":\"数值_读写_有符32大_1_保持寄存器_0033\",\"specs\":{\"max\":\"1002147.000000\",\"min\":\"997852.516352\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_142\",\"dataType\":\"DOUBLE\",\"id\":142,\"name\":\"数值_读写_有符32大交_1_保持寄存器_0037\",\"specs\":{\"max\":\"2147.000000\",\"min\":\"-2147.483648\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_143\",\"dataType\":\"DOUBLE\",\"id\":143,\"name\":\"数值_读写_有符32小_1_保持寄存器_0035\",\"specs\":{\"max\":\"-997852.000000\",\"min\":\"-1002147.483646\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_144\",\"dataType\":\"DOUBLE\",\"id\":144,\"name\":\"数值_读写_有符32小交_1_保持寄存器_0039\",\"specs\":{\"max\":\"125603.000000\",\"min\":\"121308.516353\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_145\",\"dataType\":\"INT\",\"id\":145,\"name\":\"数值_只写_无符64大_1_保持寄存器_0097\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_146\",\"dataType\":\"INT\",\"id\":146,\"name\":\"数值_只写_无符64大交_1_保持寄存器_009f\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_147\",\"dataType\":\"INT\",\"id\":147,\"name\":\"数值_只写_无符64小_1_保持寄存器_009b\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_148\",\"dataType\":\"INT\",\"id\":148,\"name\":\"数值_只写_无符64小交_1_保持寄存器_00a3\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_149\",\"dataType\":\"INT\",\"id\":149,\"name\":\"数值_只写_有符64大_1_保持寄存器_0066\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_150\",\"dataType\":\"INT\",\"id\":150,\"name\":\"数值_只写_有符64大交_1_保持寄存器_006f\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_151\",\"dataType\":\"INT\",\"id\":151,\"name\":\"数值_只写_有符64小_1_保持寄存器_006b\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_152\",\"dataType\":\"INT\",\"id\":152,\"name\":\"数值_只写_有符64小交_1_保持寄存器_0073\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_153\",\"dataType\":\"INT\",\"id\":153,\"name\":\"数值_只读_无符64大_1_保持寄存器_0087\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_154\",\"dataType\":\"INT\",\"id\":154,\"name\":\"数值_只读_无符64大交_1_保持寄存器_008f\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_155\",\"dataType\":\"INT\",\"id\":155,\"name\":\"数值_只读_无符64小_1_保持寄存器_008b\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_156\",\"dataType\":\"INT\",\"id\":156,\"name\":\"数值_只读_无符64小交_1_保持寄存器_0093\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_157\",\"dataType\":\"INT\",\"id\":157,\"name\":\"数值_只读_有符64大_1_保持寄存器_0055\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_158\",\"dataType\":\"INT\",\"id\":158,\"name\":\"数值_只读_有符64大交_1_保持寄存器_005e\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_159\",\"dataType\":\"INT\",\"id\":159,\"name\":\"数值_只读_有符64小_1_保持寄存器_0059\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_160\",\"dataType\":\"INT\",\"id\":160,\"name\":\"数值_只读_有符64小交_1_保持寄存器_0062\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_161\",\"dataType\":\"INT\",\"id\":161,\"name\":\"数值_读写_无符64大_1_保持寄存器_00a7\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_162\",\"dataType\":\"INT\",\"id\":162,\"name\":\"数值_读写_无符64大交_1_保持寄存器_00af\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_163\",\"dataType\":\"INT\",\"id\":163,\"name\":\"数值_读写_无符64小_1_保持寄存器_00ab\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_164\",\"dataType\":\"INT\",\"id\":164,\"name\":\"数值_读写_无符64小交_1_保持寄存器_00b3\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_165\",\"dataType\":\"INT\",\"id\":165,\"name\":\"数值_读写_有符64大_1_保持寄存器_0077\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_166\",\"dataType\":\"INT\",\"id\":166,\"name\":\"数值_读写_有符64大交_1_保持寄存器_007f\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_167\",\"dataType\":\"INT\",\"id\":167,\"name\":\"数值_读写_有符64小_1_保持寄存器_007b\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_168\",\"dataType\":\"INT\",\"id\":168,\"name\":\"数值_读写_有符64小交_1_保持寄存器_0083\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_169\",\"dataType\":\"FLOAT\",\"id\":169,\"name\":\"数值_只写_单精32大_1_保持寄存器_00bf\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_170\",\"dataType\":\"FLOAT\",\"id\":170,\"name\":\"数值_只写_单精32大交_1_保持寄存器_00c3\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_171\",\"dataType\":\"FLOAT\",\"id\":171,\"name\":\"数值_只写_单精32小_1_保持寄存器_00c1\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_172\",\"dataType\":\"FLOAT\",\"id\":172,\"name\":\"数值_只写_单精32小交_1_保持寄存器_00c5\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_173\",\"dataType\":\"FLOAT\",\"id\":173,\"name\":\"数值_只读_单精32大_1_保持寄存器_00b7\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_174\",\"dataType\":\"FLOAT\",\"id\":174,\"name\":\"数值_只读_单精32大交_1_保持寄存器_00bb\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_175\",\"dataType\":\"FLOAT\",\"id\":175,\"name\":\"数值_只读_单精32小_1_保持寄存器_00b9\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_176\",\"dataType\":\"FLOAT\",\"id\":176,\"name\":\"数值_只读_单精32小交_1_保持寄存器_00bd\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_177\",\"dataType\":\"FLOAT\",\"id\":177,\"name\":\"数值_读写_单精32大_1_保持寄存器_00c7\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_178\",\"dataType\":\"FLOAT\",\"id\":178,\"name\":\"数值_读写_单精32大交_1_保持寄存器_00cb\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_179\",\"dataType\":\"FLOAT\",\"id\":179,\"name\":\"数值_读写_单精32小_1_保持寄存器_00c9\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_180\",\"dataType\":\"FLOAT\",\"id\":180,\"name\":\"数值_读写_单精32小交_1_保持寄存器_00cd\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_181\",\"dataType\":\"DOUBLE\",\"id\":181,\"name\":\"数值_只写_双精64大_1_保持寄存器_00df\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_182\",\"dataType\":\"DOUBLE\",\"id\":182,\"name\":\"数值_只写_双精64大交_1_保持寄存器_00e7\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_183\",\"dataType\":\"DOUBLE\",\"id\":183,\"name\":\"数值_只写_双精64小_1_保持寄存器_00e3\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_184\",\"dataType\":\"DOUBLE\",\"id\":184,\"name\":\"数值_只写_双精64小交_1_保持寄存器_00eb\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_185\",\"dataType\":\"DOUBLE\",\"id\":185,\"name\":\"数值_只读_双精64大_1_保持寄存器_00cf\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_186\",\"dataType\":\"DOUBLE\",\"id\":186,\"name\":\"数值_只读_双精64大交_1_保持寄存器_00d7\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_187\",\"dataType\":\"DOUBLE\",\"id\":187,\"name\":\"数值_只读_双精64小_1_保持寄存器_00d3\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_188\",\"dataType\":\"DOUBLE\",\"id\":188,\"name\":\"数值_只读_双精64小交_1_保持寄存器_00db\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_189\",\"dataType\":\"DOUBLE\",\"id\":189,\"name\":\"数值_读写_双精64大_1_保持寄存器_00ef\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_190\",\"dataType\":\"DOUBLE\",\"id\":190,\"name\":\"数值_读写_双精64大交_1_保持寄存器_00f7\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_191\",\"dataType\":\"DOUBLE\",\"id\":191,\"name\":\"数值_读写_双精64小_1_保持寄存器_00f3\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_192\",\"dataType\":\"DOUBLE\",\"id\":192,\"name\":\"数值_读写_双精64小交_1_保持寄存器_00fb\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_193\",\"dataType\":\"TEXT\",\"id\":193,\"name\":\"字节流_1_只写_1_保持寄存器_0100\",\"specs\":{\"length\":\"1\"}},{\"code\":\"1_194\",\"dataType\":\"TEXT\",\"id\":194,\"name\":\"字节流_1_只读_1_保持寄存器_00ff\",\"specs\":{\"length\":\"1\"}},{\"code\":\"1_195\",\"dataType\":\"TEXT\",\"id\":195,\"name\":\"字节流_1_读写_1_保持寄存器_0101\",\"specs\":{\"length\":\"1\"}},{\"code\":\"1_196\",\"dataType\":\"TEXT\",\"id\":196,\"name\":\"字节流_3_只写_1_保持寄存器_0104\",\"specs\":{\"length\":\"3\"}},{\"code\":\"1_197\",\"dataType\":\"TEXT\",\"id\":197,\"name\":\"字节流_3_只读_1_保持寄存器_0102\",\"specs\":{\"length\":\"3\"}},{\"code\":\"1_198\",\"dataType\":\"TEXT\",\"id\":198,\"name\":\"字节流_3_读写_1_保持寄存器_0106\",\"specs\":{\"length\":\"3\"}},{\"code\":\"1_199\",\"dataType\":\"TEXT\",\"id\":199,\"name\":\"字节流_125_只读_1_保持寄存器_0108\",\"specs\":{\"length\":\"125\"}},{\"code\":\"1_200\",\"dataType\":\"TEXT\",\"id\":200,\"name\":\"字节流_125_只写_1_保持寄存器_0147\",\"specs\":{\"length\":\"125\"}},{\"code\":\"1_201\",\"dataType\":\"TEXT\",\"id\":201,\"name\":\"字节流_125_读写_1_保持寄存器_0186\",\"specs\":{\"length\":\"125\"}},{\"code\":\"1_202\",\"dataType\":\"TEXT\",\"id\":202,\"name\":\"字节流_246_只读_1_保持寄存器_01c5\",\"specs\":{\"length\":\"246\"}},{\"code\":\"1_203\",\"dataType\":\"TEXT\",\"id\":203,\"name\":\"字节流_246_只写_1_保持寄存器_0242\",\"specs\":{\"length\":\"246\"}},{\"code\":\"1_204\",\"dataType\":\"TEXT\",\"id\":204,\"name\":\"字节流_246_读写_1_保持寄存器_02bf\",\"specs\":{\"length\":\"246\"}},{\"code\":\"1_205\",\"dataType\":\"BOOL\",\"id\":205,\"name\":\"布尔值_只写_1_线圈_0000\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_206\",\"dataType\":\"BOOL\",\"id\":206,\"name\":\"布尔值_只读_1_线圈_0001\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_207\",\"dataType\":\"BOOL\",\"id\":207,\"name\":\"布尔值_读写_1_线圈_0002\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_208\",\"dataType\":\"BOOL\",\"id\":208,\"name\":\"布尔值_读写_1_线圈_0003\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_209\",\"dataType\":\"BOOL\",\"id\":209,\"name\":\"布尔值_读写_1_线圈_0004\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_210\",\"dataType\":\"BOOL\",\"id\":210,\"name\":\"布尔值_读写_1_线圈_0005\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_211\",\"dataType\":\"BOOL\",\"id\":211,\"name\":\"布尔值_只读_1_输入寄存器_0000_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_212\",\"dataType\":\"BOOL\",\"id\":212,\"name\":\"布尔值_只读_1_输入寄存器_0000_1\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_213\",\"dataType\":\"BOOL\",\"id\":213,\"name\":\"布尔值_只读_1_输入寄存器_0000_2\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_214\",\"dataType\":\"BOOL\",\"id\":214,\"name\":\"布尔值_只读_1_输入寄存器_0000_3\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_215\",\"dataType\":\"BOOL\",\"id\":215,\"name\":\"布尔值_只读_1_输入寄存器_0000_4\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_216\",\"dataType\":\"BOOL\",\"id\":216,\"name\":\"布尔值_只读_1_输入寄存器_0000_5\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_217\",\"dataType\":\"BOOL\",\"id\":217,\"name\":\"布尔值_只读_1_输入寄存器_0000_6\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_218\",\"dataType\":\"BOOL\",\"id\":218,\"name\":\"布尔值_只读_1_输入寄存器_0000_7\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_219\",\"dataType\":\"BOOL\",\"id\":219,\"name\":\"布尔值_只读_1_输入寄存器_0000_8\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_220\",\"dataType\":\"BOOL\",\"id\":220,\"name\":\"布尔值_只读_1_输入寄存器_0000_9\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_221\",\"dataType\":\"BOOL\",\"id\":221,\"name\":\"布尔值_只读_1_输入寄存器_0000_10\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_222\",\"dataType\":\"BOOL\",\"id\":222,\"name\":\"布尔值_只读_1_输入寄存器_0000_11\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_223\",\"dataType\":\"BOOL\",\"id\":223,\"name\":\"布尔值_只读_1_输入寄存器_0000_12\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_224\",\"dataType\":\"BOOL\",\"id\":224,\"name\":\"布尔值_只读_1_输入寄存器_0000_13\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_225\",\"dataType\":\"BOOL\",\"id\":225,\"name\":\"布尔值_只读_1_输入寄存器_0000_14\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_226\",\"dataType\":\"BOOL\",\"id\":226,\"name\":\"布尔值_只读_1_输入寄存器_0000_15\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_227\",\"dataType\":\"BOOL\",\"id\":227,\"name\":\"布尔值_只读_1_输入寄存器_0001_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_228\",\"dataType\":\"BOOL\",\"id\":228,\"name\":\"布尔值_只读_1_输入寄存器_0001_1\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_229\",\"dataType\":\"BOOL\",\"id\":229,\"name\":\"布尔值_只读_1_输入寄存器_0001_2\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_230\",\"dataType\":\"BOOL\",\"id\":230,\"name\":\"布尔值_只读_1_输入寄存器_0001_3\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_231\",\"dataType\":\"BOOL\",\"id\":231,\"name\":\"布尔值_只读_1_输入寄存器_0001_4\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_232\",\"dataType\":\"BOOL\",\"id\":232,\"name\":\"布尔值_只读_1_输入寄存器_0001_5\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_233\",\"dataType\":\"BOOL\",\"id\":233,\"name\":\"布尔值_只读_1_输入寄存器_0001_6\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_234\",\"dataType\":\"BOOL\",\"id\":234,\"name\":\"布尔值_只读_1_输入寄存器_0001_7\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_235\",\"dataType\":\"BOOL\",\"id\":235,\"name\":\"布尔值_只读_1_输入寄存器_0001_8\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_236\",\"dataType\":\"BOOL\",\"id\":236,\"name\":\"布尔值_只读_1_输入寄存器_0001_9\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_237\",\"dataType\":\"BOOL\",\"id\":237,\"name\":\"布尔值_只读_1_输入寄存器_0001_10\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_238\",\"dataType\":\"BOOL\",\"id\":238,\"name\":\"布尔值_只读_1_输入寄存器_0001_11\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_239\",\"dataType\":\"BOOL\",\"id\":239,\"name\":\"布尔值_只读_1_输入寄存器_0001_12\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_240\",\"dataType\":\"BOOL\",\"id\":240,\"name\":\"布尔值_只读_1_输入寄存器_0001_13\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_241\",\"dataType\":\"BOOL\",\"id\":241,\"name\":\"布尔值_只读_1_输入寄存器_0001_14\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_242\",\"dataType\":\"BOOL\",\"id\":242,\"name\":\"布尔值_只读_1_输入寄存器_0002_0\",\"specs\":[{\"dataType\":\"BOOL\",\"name\":\"true\",\"value\":\"true\"},{\"dataType\":\"BOOL\",\"name\":\"false\",\"value\":\"false\"}]},{\"code\":\"1_243\",\"dataType\":\"DOUBLE\",\"id\":243,\"name\":\"数值_只读_无符16大_1_输入寄存器_0007\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_244\",\"dataType\":\"DOUBLE\",\"id\":244,\"name\":\"数值_只读_无符16大交_1_输入寄存器_0009\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_245\",\"dataType\":\"DOUBLE\",\"id\":245,\"name\":\"数值_只读_无符16小_1_输入寄存器_0008\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_246\",\"dataType\":\"DOUBLE\",\"id\":246,\"name\":\"数值_只读_无符16小交_1_输入寄存器_000a\",\"specs\":{\"max\":\"0.000000\",\"min\":\"-4294967295.000000\",\"step\":\"-999999.999999\",\"unit\":\"\"}},{\"code\":\"1_247\",\"dataType\":\"DOUBLE\",\"id\":247,\"name\":\"数值_只读_有符16大_1_输入寄存器_0003\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_248\",\"dataType\":\"DOUBLE\",\"id\":248,\"name\":\"数值_只读_有符16大交_1_输入寄存器_0005\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_249\",\"dataType\":\"DOUBLE\",\"id\":249,\"name\":\"数值_只读_有符16小_1_输入寄存器_0004\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_250\",\"dataType\":\"DOUBLE\",\"id\":250,\"name\":\"数值_只读_有符16小交_1_输入寄存器_0006\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"999999.999999\",\"unit\":\"\"}},{\"code\":\"1_251\",\"dataType\":\"DOUBLE\",\"id\":251,\"name\":\"数值_只读_无符32大_1_输入寄存器_0013\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_252\",\"dataType\":\"DOUBLE\",\"id\":252,\"name\":\"数值_只读_无符32大交_1_输入寄存器_0017\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_253\",\"dataType\":\"DOUBLE\",\"id\":253,\"name\":\"数值_只读_无符32小_1_输入寄存器_0015\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"0.000000\",\"step\":\"123456.000000\",\"unit\":\"\"}},{\"code\":\"1_254\",\"dataType\":\"INT\",\"id\":254,\"name\":\"数值_只读_无符32小交_1_输入寄存器_0019\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"123456\",\"unit\":\"\"}},{\"code\":\"1_255\",\"dataType\":\"DOUBLE\",\"id\":255,\"name\":\"数值_只读_有符32大_1_输入寄存器_000b\",\"specs\":{\"max\":\"1002147.000000\",\"min\":\"997852.516352\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_256\",\"dataType\":\"DOUBLE\",\"id\":256,\"name\":\"数值_只读_有符32大交_1_输入寄存器_000f\",\"specs\":{\"max\":\"2147.000000\",\"min\":\"-2147.483648\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_257\",\"dataType\":\"DOUBLE\",\"id\":257,\"name\":\"数值_只读_有符32小_1_输入寄存器_000d\",\"specs\":{\"max\":\"-997852.000000\",\"min\":\"-1002147.483646\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_258\",\"dataType\":\"DOUBLE\",\"id\":258,\"name\":\"数值_只读_有符32小交_1_输入寄存器_0011\",\"specs\":{\"max\":\"125603.000000\",\"min\":\"121308.516353\",\"step\":\"-0.000001\",\"unit\":\"\"}},{\"code\":\"1_259\",\"dataType\":\"INT\",\"id\":259,\"name\":\"数值_只读_无符64大_1_输入寄存器_002b\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_260\",\"dataType\":\"INT\",\"id\":260,\"name\":\"数值_只读_无符64大交_1_输入寄存器_0033\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_261\",\"dataType\":\"INT\",\"id\":261,\"name\":\"数值_只读_无符64小_1_输入寄存器_002f\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_262\",\"dataType\":\"INT\",\"id\":262,\"name\":\"数值_只读_无符64小交_1_输入寄存器_0037\",\"specs\":{\"max\":\"2147483647\",\"min\":\"0\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_263\",\"dataType\":\"INT\",\"id\":263,\"name\":\"数值_只读_有符64大_1_输入寄存器_001b\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_264\",\"dataType\":\"INT\",\"id\":264,\"name\":\"数值_只读_有符64大交_1_输入寄存器_0023\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_265\",\"dataType\":\"INT\",\"id\":265,\"name\":\"数值_只读_有符64小_1_输入寄存器_001f\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_266\",\"dataType\":\"INT\",\"id\":266,\"name\":\"数值_只读_有符64小交_1_输入寄存器_0027\",\"specs\":{\"max\":\"2147483647\",\"min\":\"-2147483648\",\"step\":\"1\",\"unit\":\"\"}},{\"code\":\"1_267\",\"dataType\":\"FLOAT\",\"id\":267,\"name\":\"数值_只读_单精32大_1_输入寄存器_003b\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_268\",\"dataType\":\"FLOAT\",\"id\":268,\"name\":\"数值_只读_单精32大交_1_输入寄存器_003f\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_269\",\"dataType\":\"FLOAT\",\"id\":269,\"name\":\"数值_只读_单精32小_1_输入寄存器_003d\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_270\",\"dataType\":\"FLOAT\",\"id\":270,\"name\":\"数值_只读_单精32小交_1_输入寄存器_0041\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_271\",\"dataType\":\"DOUBLE\",\"id\":271,\"name\":\"数值_只读_双精64大_1_输入寄存器_0043\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_272\",\"dataType\":\"DOUBLE\",\"id\":272,\"name\":\"数值_只读_双精64大交_1_输入寄存器_004b\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_273\",\"dataType\":\"DOUBLE\",\"id\":273,\"name\":\"数值_只读_双精64小_1_输入寄存器_0047\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_274\",\"dataType\":\"DOUBLE\",\"id\":274,\"name\":\"数值_只读_双精64小交_1_输入寄存器_004f\",\"specs\":{\"max\":\"4294967295.000000\",\"min\":\"-4294967295.000000\",\"step\":\"1.000000\",\"unit\":\"\"}},{\"code\":\"1_275\",\"dataType\":\"TEXT\",\"id\":275,\"name\":\"字节流_125_只读_1_输入寄存器_0056\",\"specs\":{\"length\":\"125\"}},{\"code\":\"1_276\",\"dataType\":\"TEXT\",\"id\":276,\"name\":\"字节流_1_只读_1_输入寄存器_0053\",\"specs\":{\"length\":\"1\"}},{\"code\":\"1_277\",\"dataType\":\"TEXT\",\"id\":277,\"name\":\"字节流_3_只读_1_输入寄存器_0054\",\"specs\":{\"length\":\"3\"}},{\"code\":\"1_278\",\"dataType\":\"TEXT\",\"id\":278,\"name\":\"字节流_246_只读_1_输入寄存器_0095\",\"specs\":{\"length\":\"246\"}}]";
    private static final String MODELS = "[{\"code\":\"struct\",\"dataType\":\"STRUCT\",\"desc\":\"\",\"id\":12,\"name\":\"${tslPublished_p116wL.struct}\",\"specs\":\"[{\\\"specs\\\":[{\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.struct_bool_0}\\\",\\\"value\\\":\\\"true\\\"},{\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.struct_bool_1}\\\",\\\"value\\\":\\\"false\\\"}],\\\"code\\\":\\\"bool\\\",\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.struct_bool}\\\",\\\"id\\\":1},{\\\"specs\\\":{\\\"unit\\\":\\\"nF\\\",\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"1000\\\",\\\"step\\\":\\\"1\\\"},\\\"code\\\":\\\"float\\\",\\\"dataType\\\":\\\"FLOAT\\\",\\\"name\\\":\\\"${tslPublished_p116wL.struct_float}\\\",\\\"id\\\":2},{\\\"specs\\\":[{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.struct_enum_0}\\\",\\\"value\\\":\\\"1\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.struct_enum_1}\\\",\\\"value\\\":\\\"2\\\"}],\\\"code\\\":\\\"enum\\\",\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.struct_enum}\\\",\\\"id\\\":3}]\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"switch\",\"dataType\":\"BOOL\",\"desc\":\"开关灯\",\"id\":1,\"name\":\"${tslPublished_p116wL.switch}\",\"specs\":\"[{\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.switch_0}\\\",\\\"value\\\":\\\"true\\\"},{\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.switch_1}\\\",\\\"value\\\":\\\"false\\\"}]\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"bright_value\",\"dataType\":\"INT\",\"desc\":\"灯光亮度\",\"id\":3,\"name\":\"${tslPublished_p116wL.bright_value}\",\"specs\":\"{\\\"max\\\":\\\"1000\\\",\\\"min\\\":\\\"10\\\",\\\"step\\\":\\\"1\\\",\\\"unit\\\":\\\"\\\"}\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"temp_value\",\"dataType\":\"INT\",\"desc\":\"灯光冷暖值\",\"id\":4,\"name\":\"${tslPublished_p116wL.temp_value}\",\"specs\":\"{\\\"max\\\":\\\"1000\\\",\\\"min\\\":\\\"0\\\",\\\"step\\\":\\\"1\\\",\\\"unit\\\":\\\"\\\"}\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"scene_data\",\"dataType\":\"ARRAY\",\"desc\":\"用于设置及读取场景模式\",\"id\":8,\"name\":\"${tslPublished_p116wL.scene_data}\",\"specs\":\"{\\\"dataType\\\":\\\"STRUCT\\\",\\\"size\\\":\\\"6\\\",\\\"specs\\\":[{\\\"code\\\":\\\"scene_sel\\\",\\\"dataType\\\":\\\"INT\\\",\\\"desc\\\":\\\"\\\",\\\"id\\\":1,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_scene_sel}\\\",\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"4\\\",\\\"max\\\":\\\"9\\\",\\\"step\\\":\\\"1\\\"}},{\\\"code\\\":\\\"increase_id\\\",\\\"dataType\\\":\\\"INT\\\",\\\"desc\\\":\\\"\\\",\\\"id\\\":2,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_increase_id}\\\",\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"-1\\\",\\\"max\\\":\\\"2147483647\\\",\\\"step\\\":\\\"1\\\"}},{\\\"code\\\":\\\"scene_name\\\",\\\"dataType\\\":\\\"TEXT\\\",\\\"id\\\":3,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_scene_name}\\\",\\\"specs\\\":{\\\"length\\\":\\\"30\\\"}},{\\\"code\\\":\\\"fade_mode\\\",\\\"dataType\\\":\\\"ENUM\\\",\\\"id\\\":4,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_fade_mode}\\\",\\\"specs\\\":[{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_fade_mode_0}\\\",\\\"value\\\":\\\"1\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_fade_mode_1}\\\",\\\"value\\\":\\\"2\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_fade_mode_2}\\\",\\\"value\\\":\\\"3\\\"}]},{\\\"code\\\":\\\"fade_speed\\\",\\\"dataType\\\":\\\"INT\\\",\\\"desc\\\":\\\"\\\",\\\"id\\\":5,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_fade_speed}\\\",\\\"specs\\\":{\\\"unit\\\":\\\"%\\\",\\\"min\\\":\\\"1\\\",\\\"max\\\":\\\"100\\\",\\\"step\\\":\\\"1\\\"}},{\\\"code\\\":\\\"colour_type\\\",\\\"dataType\\\":\\\"ENUM\\\",\\\"id\\\":6,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_colour_type}\\\",\\\"specs\\\":[{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_colour_type_0}\\\",\\\"value\\\":\\\"1\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_colour_type_1}\\\",\\\"value\\\":\\\"2\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_colour_type_2}\\\",\\\"value\\\":\\\"3\\\"}]},{\\\"code\\\":\\\"unit1\\\",\\\"dataType\\\":\\\"INT\\\",\\\"id\\\":7,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_unit1}\\\",\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"16777215\\\",\\\"step\\\":\\\"1\\\"}},{\\\"code\\\":\\\"unit2\\\",\\\"dataType\\\":\\\"INT\\\",\\\"id\\\":8,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_unit2}\\\",\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"16777215\\\",\\\"step\\\":\\\"1\\\"}},{\\\"code\\\":\\\"unit3\\\",\\\"dataType\\\":\\\"INT\\\",\\\"id\\\":9,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_unit3}\\\",\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"16777215\\\",\\\"step\\\":\\\"1\\\"}},{\\\"code\\\":\\\"unit4\\\",\\\"dataType\\\":\\\"INT\\\",\\\"id\\\":10,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_unit4}\\\",\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"16777215\\\",\\\"step\\\":\\\"1\\\"}},{\\\"code\\\":\\\"unit5\\\",\\\"dataType\\\":\\\"INT\\\",\\\"id\\\":11,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_unit5}\\\",\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"16777215\\\",\\\"step\\\":\\\"1\\\"}},{\\\"code\\\":\\\"unit6\\\",\\\"dataType\\\":\\\"INT\\\",\\\"id\\\":12,\\\"name\\\":\\\"${tslPublished_p116wL.scene_data_unit6}\\\",\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"16777215\\\",\\\"step\\\":\\\"1\\\"}}]}\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"colour_data\",\"dataType\":\"INT\",\"desc\":\"xRGB值\\nx：bits[31-24]\\nR：bits[23-16]\\nG：bits[15-8]\\nB：bits[7-0]\",\"id\":5,\"name\":\"${tslPublished_p116wL.colour_data}\",\"specs\":\"{\\\"max\\\":\\\"2147483647\\\",\\\"min\\\":\\\"-2147483648\\\",\\\"step\\\":\\\"1\\\",\\\"unit\\\":\\\"\\\"}\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"colour_bright\",\"dataType\":\"INT\",\"desc\":\"灯光亮度\",\"id\":6,\"name\":\"${tslPublished_p116wL.colour_bright}\",\"specs\":\"{\\\"max\\\":\\\"1000\\\",\\\"min\\\":\\\"10\\\",\\\"step\\\":\\\"1\\\",\\\"unit\\\":\\\"\\\"}\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"control_data\",\"dataType\":\"STRUCT\",\"desc\":\"用于无级调光使用\",\"id\":11,\"name\":\"${tslPublished_p116wL.control_data}\",\"specs\":\"[{\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"-2147483648\\\",\\\"max\\\":\\\"2147483647\\\",\\\"step\\\":\\\"1\\\"},\\\"code\\\":\\\"rgb\\\",\\\"dataType\\\":\\\"INT\\\",\\\"name\\\":\\\"${tslPublished_p116wL.control_data_rgb}\\\",\\\"id\\\":1},{\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"0\\\",\\\"max\\\":\\\"1000\\\",\\\"step\\\":\\\"1\\\"},\\\"code\\\":\\\"temp\\\",\\\"dataType\\\":\\\"INT\\\",\\\"name\\\":\\\"${tslPublished_p116wL.control_data_temp}\\\",\\\"id\\\":2},{\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"10\\\",\\\"max\\\":\\\"1000\\\",\\\"step\\\":\\\"1\\\"},\\\"code\\\":\\\"bright\\\",\\\"dataType\\\":\\\"INT\\\",\\\"name\\\":\\\"${tslPublished_p116wL.control_data_bright}\\\",\\\"id\\\":3},{\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"10\\\",\\\"max\\\":\\\"1000\\\",\\\"step\\\":\\\"1\\\"},\\\"code\\\":\\\"c_bright\\\",\\\"dataType\\\":\\\"INT\\\",\\\"name\\\":\\\"${tslPublished_p116wL.control_data_c_bright}\\\",\\\"id\\\":4},{\\\"specs\\\":{\\\"unit\\\":\\\"\\\",\\\"min\\\":\\\"1\\\",\\\"max\\\":\\\"4\\\",\\\"step\\\":\\\"1\\\"},\\\"code\\\":\\\"mode\\\",\\\"dataType\\\":\\\"INT\\\",\\\"name\\\":\\\"${tslPublished_p116wL.control_data_mode}\\\",\\\"id\\\":5}]\",\"subType\":\"W\",\"type\":\"PROPERTY\"},{\"code\":\"work_mode\",\"dataType\":\"ENUM\",\"desc\":\"\",\"id\":2,\"name\":\"${tslPublished_p116wL.work_mode}\",\"specs\":\"[{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.work_mode_0}\\\",\\\"value\\\":\\\"1\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.work_mode_1}\\\",\\\"value\\\":\\\"2\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.work_mode_2}\\\",\\\"value\\\":\\\"3\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.work_mode_3}\\\",\\\"value\\\":\\\"4\\\"}]\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"scene_select\",\"dataType\":\"ENUM\",\"desc\":\"默认及自定义场景切换\",\"id\":7,\"name\":\"${tslPublished_p116wL.scene_select}\",\"specs\":\"[{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_0}\\\",\\\"value\\\":\\\"0\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_1}\\\",\\\"value\\\":\\\"1\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_2}\\\",\\\"value\\\":\\\"2\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_3}\\\",\\\"value\\\":\\\"3\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_4}\\\",\\\"value\\\":\\\"4\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_5}\\\",\\\"value\\\":\\\"5\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_6}\\\",\\\"value\\\":\\\"6\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_7}\\\",\\\"value\\\":\\\"7\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_8}\\\",\\\"value\\\":\\\"8\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.scene_select_9}\\\",\\\"value\\\":\\\"9\\\"}]\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"music_data\",\"dataType\":\"INT\",\"desc\":\"RGB\",\"id\":10,\"name\":\"${tslPublished_p116wL.music_data}\",\"specs\":\"{\\\"max\\\":\\\"16777215\\\",\\\"min\\\":\\\"0\\\",\\\"step\\\":\\\"1\\\",\\\"unit\\\":\\\"\\\"}\",\"subType\":\"W\",\"type\":\"PROPERTY\"},{\"code\":\"scene_del\",\"dataType\":\"INT\",\"desc\":\"只支持删除自定义场景\",\"id\":9,\"name\":\"${tslPublished_p116wL.scene_del}\",\"specs\":\"{\\\"max\\\":\\\"9\\\",\\\"min\\\":\\\"4\\\",\\\"step\\\":\\\"1\\\",\\\"unit\\\":\\\"\\\"}\",\"subType\":\"W\",\"type\":\"PROPERTY\"},{\"code\":\"status_display\",\"dataType\":\"ENUM\",\"desc\":\"\",\"id\":13,\"name\":\"${tslPublished_p116wL.status_display}\",\"specs\":\"[{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.status_display_0}\\\",\\\"value\\\":\\\"1\\\"},{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.status_display_1}\\\",\\\"value\\\":\\\"2\\\"}]\",\"subType\":\"RW\",\"type\":\"PROPERTY\"},{\"code\":\"status_display_event\",\"dataType\":\"\",\"desc\":\"\",\"id\":14,\"name\":\"${tslPublished_p116wL.status_display_event}\",\"outputData\":\"[{\\\"$ref\\\":\\\"#/properties/id/13\\\"},{\\\"$ref\\\":\\\"#/properties/id/12\\\"},{\\\"$ref\\\":\\\"#/properties/id/3\\\"},{\\\"specs\\\":[{\\\"specs\\\":[{\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.status_display_event_code1_code2_0}\\\",\\\"value\\\":\\\"true\\\"},{\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.status_display_event_code1_code2_1}\\\",\\\"value\\\":\\\"false\\\"}],\\\"code\\\":\\\"code2\\\",\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.status_display_event_code1_code2}\\\",\\\"id\\\":1},{\\\"specs\\\":[{\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.status_display_event_code1_code3_0}\\\",\\\"value\\\":\\\"1\\\"}],\\\"code\\\":\\\"code3\\\",\\\"dataType\\\":\\\"ENUM\\\",\\\"name\\\":\\\"${tslPublished_p116wL.status_display_event_code1_code3}\\\",\\\"id\\\":2}],\\\"code\\\":\\\"code1\\\",\\\"dataType\\\":\\\"STRUCT\\\",\\\"name\\\":\\\"${tslPublished_p116wL.status_display_event_code1}\\\",\\\"id\\\":15,\\\"desc\\\":\\\"\\\"}]\",\"subType\":\"WARN\",\"type\":\"EVENT\"},{\"code\":\"code\",\"dataType\":\"\",\"desc\":\"\",\"id\":16,\"name\":\"${tslPublished_p116wL.code}\",\"outputData\":\"[{\\\"specs\\\":[{\\\"specs\\\":[{\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.code_111_11133_0}\\\",\\\"value\\\":\\\"true\\\"},{\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.code_111_11133_1}\\\",\\\"value\\\":\\\"false\\\"}],\\\"code\\\":\\\"11133\\\",\\\"dataType\\\":\\\"BOOL\\\",\\\"name\\\":\\\"${tslPublished_p116wL.code_111_11133}\\\",\\\"id\\\":1},{\\\"specs\\\":{\\\"unit\\\":\\\"μA\\\",\\\"min\\\":\\\"1\\\",\\\"max\\\":\\\"22\\\",\\\"multiple\\\":\\\"1\\\",\\\"step\\\":\\\"1\\\"},\\\"code\\\":\\\"44444\\\",\\\"dataType\\\":\\\"INT\\\",\\\"name\\\":\\\"${tslPublished_p116wL.code_111_44444}\\\",\\\"id\\\":2}],\\\"code\\\":\\\"111\\\",\\\"dataType\\\":\\\"STRUCT\\\",\\\"name\\\":\\\"${tslPublished_p116wL.code_111}\\\",\\\"id\\\":17,\\\"desc\\\":\\\"\\\"}]\",\"subType\":\"WARN\",\"type\":\"EVENT\"}]";

    /**
     * 基准测试执行
     *
     * @param args 入参
     * @throws RunnerException 异常信息
     */
    public static void main(String[] args) throws RunnerException {
        Options opt = new OptionsBuilder()
                .include(TslSpecOptimizedMapBenchMark.class.getSimpleName())
                .forks(1)
                .jvmArgs()
                .build();
        new Runner(opt).run();
    }

    @Benchmark
    public AbilitySpec getTslFromSpecs() {
        String modelCode = "FAULT_ALARM";
        List<RuleModelTslDTO> ruleModelTslDTOList = JSON.parseArray(MODELS, RuleModelTslDTO.class);
        RuleModelTslDTO event = new RuleModelTslDTO();
        event.setId(66);
        event.setSpecs(SPEC);
        event.setCode("FAULT_ALARM");
        ruleModelTslDTOList.add(event);
        Map<Integer, RuleModelTslDTO> tslMap = ruleModelTslDTOList.stream()
                .collect(Collectors.toMap(RuleModelTslDTO::getId, Function.identity(), (key1, key2) -> key1));
        List<JSONObject> jsonArray = JSON.parseArray(SPEC, JSONObject.class);
        AbilitySpec abilitySpec = null;
        for (JSONObject obj : jsonArray) {
            AbilitySpec tempAbilitySpec = null;
            String ref = obj.getString("$ref");
            if (StringUtils.isNotBlank(ref)) {
                String modelIdStr = ref.substring(ref.lastIndexOf("/") + 1);
                int modelId = Integer.parseInt(modelIdStr);
                RuleModelTslDTO tempTsl = tslMap.get(modelId);
                if (tempTsl == null) {
                    continue;
                }
                // 排除只写功能
                if ("W".equals(tempTsl.getSubType())) {
                    continue;
                }
                if (tempTsl.getCode().equals(modelCode)) {
                    tempAbilitySpec = new AbilitySpec();
                    tempAbilitySpec.setId(modelId);
                    tempAbilitySpec.setCode(tempTsl.getCode());
                    tempAbilitySpec.setName(tempTsl.getName());
                    tempAbilitySpec.setDataType(tempTsl.getDataType());
                    tempAbilitySpec.setDesc(tempTsl.getDesc());
                    if ("STRUCT".equals(tempTsl.getDataType())) {
                        tempAbilitySpec.setSpecs(JSON.parseArray(tempTsl.getSpecs(), AbilitySpec.class));
                    }
                }
            } else {
                tempAbilitySpec = obj.toJavaObject(AbilitySpec.class);
                String specCode = tempAbilitySpec.getCode();
                if (!specCode.equals(modelCode)) {
                    continue;
                }
            }
            if (tempAbilitySpec == null) {
                continue;
            }
            if (modelCode.equals(tempAbilitySpec.getCode())) {
                abilitySpec = tempAbilitySpec;
                break;
            }
        }
        return abilitySpec;
    }

    public static RuleModelTslDTO getTsl(Integer modelId, List<RuleModelTslDTO> ruleModelTslDTOList) {
        if (modelId == null) {
            return null;
        }
        for (RuleModelTslDTO tsl : ruleModelTslDTOList) {
            int abilityId = tsl.getId();
            if (modelId.equals(abilityId)) {
                return tsl;
            }
        }
        return null;
    }
}
